﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Cleverscape.UTorrentClient.WebClient;

namespace uTorrentSL.Model
{
    #pragma warning disable 67
    public class UTorrentDesignData : IUTorrentData
    {


        #region IUTorrentData Members

        public bool AutoUpdate
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        private FeedCollection _feeds;
        public FeedCollection Feeds
        {
            get
            {
                if (_feeds == null)
                {
                    _feeds = new FeedCollection();
                }
                return _feeds;
            }
        }

        private FilterCollection _filters;
        public FilterCollection Filters
        {
            get
            {
                if (_filters == null)
                {
                    _filters = new FilterCollection();
                }
                return _filters;
            }
        }

        public TorrentLabelCollection Labels
        {
            get { throw new NotImplementedException(); }
        }

        public TimeSpan MinimumTimeBetweenUpdates
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public SettingsCollection Settings
        {
            get { throw new NotImplementedException(); }
        }

        private TorrentCollection _torrents;
        public TorrentCollection Torrents
        {
            get
            {
                _torrents = new TorrentCollection();
                for (int i = 0; i < 10; i++)
                {
                    _torrents.Add(new Torrent());
                }
                return _torrents;
            }
        }


        public event EventHandler TickerException;

        public event TorrentEventHandler TorrentAdded;

        public event TorrentCollection.TorrentChangedEvent TorrentChanged;

        public event TorrentEventHandler TorrentFinishedDownloading;

        public event TorrentEventHandler TorrentPaused;

        public event TorrentEventHandler TorrentStarted;

        public event TorrentEventHandler TorrentStopped;

        public event EventHandler TorrentsUpdated;

        public event TorrentEventHandler TorrentUnPaused;

        public void AddTorrent(System.IO.Stream TorrentStream)
        {
            throw new NotImplementedException();
        }

        public void AddTorrent(string FileName)
        {
            throw new NotImplementedException();
        }

        public void AddTorrent(System.IO.Stream TorrentStream, string FileName)
        {
            throw new NotImplementedException();
        }

        public void AddTorrentFromUrl(string Url)
        {
            throw new NotImplementedException();
        }

        public void Dispose()
        {
            throw new NotImplementedException();
        }

        public void FeedRemove(Feed Feed)
        {
            throw new NotImplementedException();
        }

        public void FeedUpdateAdd(Feed Feed)
        {
            throw new NotImplementedException();
        }

        public void FilterRemove(Filter Filter)
        {
            throw new NotImplementedException();
        }

        public void FilterUpdateAdd(Filter Filter)
        {
            throw new NotImplementedException();
        }

        public void getToken()
        {
            throw new NotImplementedException();
        }

        public void SetConnectionDetails(string ServerAddress, string UserName, string Password)
        {
            throw new NotImplementedException();
        }

        public void TorrentForceStart(Torrent Torrent)
        {
            throw new NotImplementedException();
        }

        public void TorrentPause(Torrent Torrent)
        {
            throw new NotImplementedException();
        }

        public void TorrentReCheck(Torrent Torrent)
        {
            throw new NotImplementedException();
        }

        public void TorrentRemove(Torrent Torrent)
        {
            throw new NotImplementedException();
        }

        public void TorrentRemove(Torrent Torrent, bool RemoveData)
        {
            throw new NotImplementedException();
        }

        public void TorrentStart(Torrent Torrent)
        {
            throw new NotImplementedException();
        }

        public void TorrentStop(Torrent Torrent)
        {
            throw new NotImplementedException();
        }

        public void TorrentUnPause(Torrent Torrent)
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IUTorrentData Members


        public event EventHandler InitialLoadComplete;

        #endregion
    }
}
